home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr37 / lenolm33.zip / OLM.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-02-24  |  6KB  |  311 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     String   TSTRING001(200)
  22.     String   STRING002
  23.     String   TSTRING003(10)
  24.     String   STRING004
  25.     String   STRING005
  26.     String   STRING006
  27.     String   STRING007
  28.     String   TSTRING008(22)
  29.     String   STRING009
  30.     String   STRING010
  31.     String   STRING011
  32.     String   STRING012
  33.     String   STRING013
  34.     String   TSTRING014(100)
  35.     String   STRING015
  36.     String   STRING016
  37.     String   STRING017
  38.     String   TSTRING018(4)
  39.     String   TSTRING019(4)
  40.  
  41. ;------------------------------------------------------------------------------
  42.  
  43.     STRING012 = "OnLineMSG!"
  44.     STRING011 = "3.33"
  45.     STRING010 = TokenStr()
  46.     FOpen 1, PPEPath() + "vars.dat", 0, 2
  47.     For INTEGER001 = 1 To 4
  48.         FGet 1, STRING007
  49.         Tokenize STRING007
  50.         TSTRING018(INTEGER001) = GetToken()
  51.         TSTRING019(INTEGER001) = GetToken()
  52.     Next
  53.     FClose 1
  54.     INTEGER001 = 1
  55.     While (((1 < 0) && (INTEGER001 >= MaxNode() + 1)) || ((1 >= 0) && (INTEGER001 <= MaxNode() + 1))) Do
  56.         RdUNet INTEGER001
  57.         STRING004 = INTEGER001
  58.         STRING005 = UN_Name()
  59.         STRING016 = UN_City()
  60.         STRING006 = Upper(UN_Stat())
  61.         If (Left(STRING005, 1) <> " ") Then
  62.             INTEGER002 = INTEGER002 + 1
  63.             TSTRING014(INTEGER002) = INTEGER001
  64.         Endif
  65.         STRING005 = ""
  66.         STRING004 = ""
  67.         STRING016 = ""
  68.         STRING009 = ""
  69.         STRING007 = ""
  70.         INTEGER001 = INTEGER001 + 1
  71.     EndWhile
  72.     STRING013 = INTEGER002
  73.     FOpen 1, PPEPath() + "proms.dat", 0, 2
  74.     For INTEGER001 = 1 To 10
  75.         FGet 1, TSTRING003(INTEGER001)
  76.     Next
  77.     FClose 1
  78.     FOpen 1, PPEPath() + "netstat.dat", 0, 2
  79.     For INTEGER001 = 1 To 22
  80.         FGet 1, TSTRING008(INTEGER001)
  81.     Next
  82.     FClose 1
  83.     :LABEL001
  84.     STRING002 = ""
  85.     InputStr TSTRING003(1) + "_", STRING002, 15, 5, Mask_Num() + "vVwW", 256 + 8
  86.     If (STRING002 == "") Goto LABEL003
  87.     If (STRING002 == "W") Then
  88.         Gosub LABEL004
  89.         Wait
  90.         Goto LABEL001
  91.     Endif
  92.     If (STRING002 == "V") Gosub LABEL007
  93.     For INTEGER001 = 1 To STRING013
  94.         If (STRING002 == PcbNode()) Goto LABEL003
  95.         If (STRING002 == TSTRING014(INTEGER001)) Goto LABEL002
  96.     Next
  97.     PrintLn TSTRING003(5)
  98.     Goto LABEL003
  99.     :LABEL002
  100.     PrintLn TSTRING003(6)
  101.     PrintLn TSTRING003(7)
  102.     For INTEGER001 = 1 To 200
  103.         InputStr TSTRING003(8) + "_", TSTRING001(INTEGER001), 2, 77, Mask_Ascii() + Mask_Num() + Chr(32), 256 + 512
  104.         If ((TSTRING001(INTEGER001) == "") || ((TSTRING001(INTEGER001) == Chr(13)) && (TSTRING001(INTEGER001) <> Chr(32)))) Then
  105.             STRING015 = INTEGER001 - 1
  106.             Break
  107.         Endif
  108.     Next
  109.     TSTRING003(3) = ReplaceStr(TSTRING003(3), "%FUSER", U_Name())
  110.     TSTRING003(3) = ReplaceStr(TSTRING003(3), "%FNODE", PcbNode())
  111.     FCreate 1, PPEPath() + "node" + STRING002 + ".dat", 1, 2
  112.     FPutLn 1, "@POFF@" + TSTRING003(3)
  113.     For INTEGER001 = 1 To 200
  114.         If (Left(TSTRING001(INTEGER001), 1) <> " ") Then
  115.             FPutLn 1, TSTRING001(INTEGER001)
  116.             If ((((((((INTEGER001 == 23) || (INTEGER001 == 46)) || (INTEGER001 == 69)) || (INTEGER001 == 92)) || (INTEGER001 == 115)) || (INTEGER001 == 138)) || (INTEGER001 == 161)) || (INTEGER001 == 184)) FPutLn 1, "@WAIT@"
  117.         Endif
  118.     Next
  119.     FPutLn 1
  120.     FPutLn 1, "@X02MSG Via @X03" + STRING012 + " @X05v@X02" + STRING011
  121.     FClose 1
  122.     PrintLn TSTRING003(9)
  123.     :LABEL003
  124.     PrintLn "  @X07@X05½ @X02" + STRING012 + " @X05╓ @X03v" + STRING011 + " @X05╜ '95 bY @X02ViPER KrYNN@X03/@X02lENSMEN @X05± @X03lENSMEN @X05π @X03PCB/X uTIlS! @X01⌐"
  125.     FCloseAll
  126.     End
  127.     :LABEL004
  128.     PrintLn "@POFF@"
  129.     DispFile PPEPath() + "olm.top", 1
  130.     For INTEGER001 = 1 To MaxNode()
  131.         RdUNet INTEGER001
  132.         STRING004 = INTEGER001
  133.         STRING005 = UN_Name()
  134.         STRING016 = UN_City()
  135.         STRING006 = Upper(UN_Stat())
  136.         If (STRING006 == "") STRING006 = "Z"
  137.         Gosub LABEL005
  138.         While (Len(STRING004) < TSTRING019(1)) Do
  139.             STRING004 = STRING004 + " "
  140.         EndWhile
  141.         While (Len(STRING005) < TSTRING019(2)) Do
  142.             STRING005 = STRING005 + " "
  143.         EndWhile
  144.         While (Len(STRING009) < TSTRING019(4)) Do
  145.             STRING009 = STRING009 + " "
  146.         EndWhile
  147.         While (Len(STRING016) < TSTRING019(3)) Do
  148.             STRING016 = STRING016 + " "
  149.         EndWhile
  150.         STRING004 = Left(STRING004, TSTRING019(1))
  151.         STRING005 = Left(STRING005, TSTRING019(2))
  152.         STRING016 = Left(STRING016, TSTRING019(3))
  153.         STRING009 = Left(STRING009, TSTRING019(4))
  154.         STRING007 = TSTRING003(4)
  155.         STRING007 = ReplaceStr(STRING007, TSTRING018(1), STRING004)
  156.         STRING007 = ReplaceStr(STRING007, TSTRING018(2), STRING005)
  157.         STRING007 = ReplaceStr(STRING007, TSTRING018(3), STRING016)
  158.         STRING007 = ReplaceStr(STRING007, TSTRING018(4), STRING009)
  159.         If (Left(STRING005, 1) <> " ") Then
  160.             INTEGER002 = INTEGER002 + 1
  161.             TSTRING014(INTEGER002) = INTEGER001
  162.             PrintLn STRING007
  163.         Endif
  164.         STRING005 = ""
  165.         STRING004 = ""
  166.         STRING016 = ""
  167.         STRING009 = ""
  168.         STRING007 = ""
  169.     Next
  170.     STRING013 = INTEGER002
  171.     DispFile PPEPath() + "olm.bot", 1
  172.     Return
  173.     :LABEL005
  174.     Select Case (STRING006)
  175.         Case "A"
  176.             STRING009 = TSTRING008(1)
  177.         Case "B"
  178.             STRING009 = TSTRING008(2)
  179.         Case "C"
  180.             STRING009 = TSTRING008(3)
  181.         Case "D"
  182.             STRING009 = TSTRING008(4)
  183.         Case "E"
  184.             STRING009 = TSTRING008(5)
  185.         Case "F"
  186.             STRING009 = TSTRING008(6)
  187.         Case "G"
  188.             STRING009 = TSTRING008(7)
  189.         Case "H"
  190.             STRING009 = TSTRING008(8)
  191.         Case "L"
  192.             STRING009 = TSTRING008(9)
  193.         Case "M"
  194.             STRING009 = TSTRING008(10)
  195.         Case "N"
  196.             STRING009 = TSTRING008(11)
  197.         Case "O"
  198.             STRING009 = TSTRING008(12)
  199.         Case "P"
  200.             STRING009 = TSTRING008(13)
  201.         Case "R"
  202.             STRING009 = TSTRING008(14)
  203.         Case "S"
  204.             STRING009 = TSTRING008(15)
  205.         Case "T"
  206.             STRING009 = TSTRING008(16)
  207.         Case "U"
  208.             STRING009 = TSTRING008(17)
  209.         Case "V"
  210.             STRING009 = TSTRING008(18)
  211.         Case "W"
  212.             STRING009 = TSTRING008(19)
  213.         Case "X"
  214.             STRING009 = TSTRING008(20)
  215.         Case "Y"
  216.             STRING009 = TSTRING008(21)
  217.         Case "Z"
  218.             STRING009 = TSTRING008(22)
  219.     End Select
  220.     :LABEL006
  221.     Return
  222.     :LABEL007
  223.     STRING017 = PcbNode()
  224.     PrintLn "@CLS@@POFF@"
  225.     If (Exist(PPEPath() + "node" + STRING017 + ".bak")) Goto LABEL008
  226.     PrintLn TSTRING003(10)
  227.     Goto LABEL009
  228.     :LABEL008
  229.     DispFile PPEPath() + "node" + STRING017 + ".bak", 1
  230.     :LABEL009
  231.     Newline
  232.     Newline
  233.     Wait
  234.     STRING002 = ""
  235.     Goto LABEL001
  236.     Return
  237.  
  238. ;------------------------------------------------------------------------------
  239. ;
  240. ; Usage report (before postprocessing)
  241. ;
  242. ; ■ Statements used :
  243. ;
  244. ;    1       End
  245. ;    2       Wait
  246. ;    82      Goto 
  247. ;    87      Let 
  248. ;    9       PrintLn 
  249. ;    46      If 
  250. ;    3       DispFile 
  251. ;    1       FCreate 
  252. ;    3       FOpen 
  253. ;    4       FClose 
  254. ;    3       FGet 
  255. ;    5       FPutLn 
  256. ;    2       InputStr 
  257. ;    3       Gosub 
  258. ;    3       Return
  259. ;    2       Newline
  260. ;    1       Tokenize 
  261. ;    2       RdUNet 
  262. ;    1       FCloseAll
  263. ;
  264. ;
  265. ; ■ Functions used :
  266. ;
  267. ;    45      +
  268. ;    1       -
  269. ;    38      ==
  270. ;    4       <>
  271. ;    12      <
  272. ;    8       <=
  273. ;    16      >=
  274. ;    40      !
  275. ;    17      &&
  276. ;    16      ||
  277. ;    4       Len(
  278. ;    2       Upper()
  279. ;    7       Left()
  280. ;    3       Chr()
  281. ;    1       U_Name()
  282. ;    2       Mask_Num()
  283. ;    1       Mask_Ascii()
  284. ;    8       PPEPath()
  285. ;    3       PcbNode()
  286. ;    2       UN_Stat()
  287. ;    2       UN_Name()
  288. ;    2       UN_City()
  289. ;    2       GetToken()
  290. ;    1       Exist()
  291. ;    1       TokenStr()
  292. ;    4       MaxNode()
  293. ;    6       ReplaceStr()
  294. ;
  295. ;------------------------------------------------------------------------------
  296. ;
  297. ; Analysis flags : No flag
  298. ;
  299. ;------------------------------------------------------------------------------
  300. ;
  301. ; Postprocessing report
  302. ;
  303. ;    7       For/Next
  304. ;    5       While/EndWhile
  305. ;    5       If/Then or If/Then/Else
  306. ;    1       Select Case
  307. ;
  308. ;------------------------------------------------------------------------------
  309. ;                 AEGiS Corp - Break the routines, code against the machines!
  310. ;------------------------------------------------------------------------------
  311.